home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 726-750 / 749 / voiceeditor / d20structures < prev    next >
Text File  |  1995-03-18  |  7KB  |  244 lines

  1. <include/d20/type.h>
  2.  
  3. These are the structures especially designed for and used by VoiceEditor.
  4. Now it is possible to use the voicefiles created by VoiceEditor in your
  5. own programs.
  6. Some of the structures are not used yet. But will be soon.
  7. -------------------------------------------------------------------------
  8. /* D20 Voice Struktur */
  9.  
  10. struct Partial
  11.          {
  12.            UBYTE WGPitchCoarse;
  13.            UBYTE WGPitchFine;
  14.            UBYTE WGPitchKeyFollow;
  15.            UBYTE WGPitchBenderSw;
  16.            UBYTE WGWaveformPCMBank;
  17.            UBYTE WGPCMWave;
  18.            UBYTE WGPulseWidth;
  19.            UBYTE WGPWVeloSens;
  20.  
  21.            UBYTE PENVDepth;
  22.            UBYTE PENVVeloSens;
  23.            UBYTE PENVTimeKeyf;
  24.            UBYTE PENVTime1;
  25.            UBYTE PENVTime2;
  26.            UBYTE PENVTime3;
  27.            UBYTE PENVTime4;
  28.            UBYTE PENVLevel0;
  29.            UBYTE PENVLevel1;
  30.            UBYTE PENVLevel2;
  31.            UBYTE dummy1;
  32.            UBYTE PENVEndLevel;
  33.  
  34.            UBYTE PLFORate;
  35.            UBYTE PLFODepth;
  36.            UBYTE PLFOModSens;
  37.  
  38.            UBYTE TVFCutoffFreq;
  39.            UBYTE TVFResonance;
  40.            UBYTE TVFKeyFollow;
  41.            UBYTE TVFBiasPoint;
  42.            UBYTE TVFBiasLevel;
  43.  
  44.            UBYTE TVFENVDepth;
  45.            UBYTE TVFENVVeloSens;
  46.            UBYTE TVFENVDepthKeyf;
  47.            UBYTE TVFENVTimeKeyf;
  48.            UBYTE TVFENVTime1;
  49.            UBYTE TVFENVTime2;
  50.            UBYTE TVFENVTime3;
  51.            UBYTE dummy2;
  52.            UBYTE TVFENVTime4;
  53.            UBYTE TVFENVLevel1;
  54.            UBYTE TVFENVLevel2;
  55.            UBYTE dummy3;
  56.            UBYTE TVFENVSustainLevel;
  57.  
  58.            UBYTE TVALevel;
  59.            UBYTE TVAVeloSens;
  60.            UBYTE TVABiasPoint1;
  61.            UBYTE TVABiasLevel1;
  62.            UBYTE TVABiasPoint2;
  63.            UBYTE TVABiasLevel2;
  64.  
  65.            UBYTE TVAENVTimeKeyf;
  66.            UBYTE TVAENVTimeVFollow;
  67.            UBYTE TVAENVTime1;
  68.            UBYTE TVAENVTime2;
  69.            UBYTE TVAENVTime3;
  70.            UBYTE dummy4;
  71.            UBYTE TVAENVTime4;
  72.            UBYTE TVAENVLevel1;
  73.            UBYTE TVAENVLevel2;
  74.            UBYTE dummy5;
  75.            UBYTE TVAENVSustainLevel;
  76.          };
  77.  
  78. struct Tone
  79.          {
  80.            UBYTE ToneName[10];      /* 32-127 (ASCII) */
  81.            UBYTE Structure12;       /* 0-12 (1-13) */
  82.            UBYTE Structure34;       /* 0-12 (1-13) */
  83.            UBYTE PartialMute;       /* 0-15 (%0000-%1111) */
  84.            UBYTE EnvMode;           /* 0-1 (NORMAL,NOSUSTAIN) */
  85.  
  86.            struct Partial Partial1;
  87.            struct Partial Partial2;
  88.            struct Partial Partial3;
  89.            struct Partial Partial4;
  90.          };
  91.  
  92. struct MidiTone
  93.          {
  94.            UBYTE MidiSysExBegin[5];
  95.            UBYTE SynthMemPos[3];
  96.            struct Tone ToneData;
  97.            UBYTE CheckSum;
  98.            UBYTE MidiSysExEnd;
  99.          };
  100.  
  101. struct Timbre
  102.          {
  103.            UBYTE ToneGroup;     /* 0-3 (a,b,i,r) */
  104.            UBYTE ToneNumber;    /* 0-63 (1-64) */
  105.            UBYTE KeyShift;      /* 0-48 (-24 - +24) */
  106.            UBYTE FineTune;      /* 0-100 (-50 - +50 */
  107.            UBYTE BenderRange;   /* 0-24 */
  108.            UBYTE AssignMode;    /* 0-3 (POLY1,POLY2,POLY3,POLY4) */
  109.            UBYTE ReverbSwitch;  /* 0-1 (OFF,ON) */
  110.            UBYTE dummy1;
  111.          };
  112.                       
  113. struct MidiTimbre
  114.          {
  115.            UBYTE MidiSysExBegin[5];
  116.            UBYTE SynthMemPos[3];
  117.            struct Timbre TimbreData;
  118.            UBYTE CheckSum;
  119.            UBYTE MidiSysExEnd;
  120.          };
  121.  
  122. struct RhythmSetup
  123.          {
  124.            UBYTE Tone;          /* 0-127 (i01-164,r01-r63,OFF) */
  125.            UBYTE OutputLevel;   /* 0-100 */
  126.            UBYTE Panpot;        /* 0-14 (L-R) */
  127.            UBYTE ReverbSwitch;  /* 0-1 (OFF,ON) */
  128.          };
  129.  
  130. struct MidiRhythmSetup
  131.          {
  132.            UBYTE MidiSysExBegin[5];
  133.            UBYTE SynthMemPos[3];
  134.            struct RhythmSetup SetupData;
  135.            UBYTE CheckSum;
  136.            UBYTE MidiSysExEnd;
  137.          };
  138.  
  139.  
  140. struct VoiceDump
  141.          {
  142.            struct MidiTone Tones[64];
  143.            struct MidiTimbre Timbres[128];
  144.            struct MidiRhythmSetup Setups[85];
  145.          };
  146.  
  147. struct SystemArea
  148.          {
  149.            UBYTE MasterTune;
  150.            UBYTE ReverbMode;
  151.            UBYTE ReverbTime;
  152.            UBYTE ReverbLevel;
  153.            UBYTE PartialReserve1; /* 0-32 */ 
  154.            UBYTE PartialReserve2; /* 0-32 */ 
  155.            UBYTE PartialReserve3; /* 0-32 */ 
  156.            UBYTE PartialReserve4; /* 0-32 */ 
  157.            UBYTE PartialReserve5; /* 0-32 */ 
  158.            UBYTE PartialReserve6; /* 0-32 */ 
  159.            UBYTE PartialReserve7; /* 0-32 */ 
  160.            UBYTE PartialReserve8; /* 0-32 */ 
  161.            UBYTE PartialReserveR; /* 0-32 */ 
  162.            UBYTE dummy[20];       /* for D-110 */
  163.            UBYTE OutputLevel1;    /* 0-100 */
  164.            UBYTE OutputLevel2;    /* 0-100 */
  165.            UBYTE OutputLevel3;    /* 0-100 */
  166.            UBYTE OutputLevel4;    /* 0-100 */
  167.            UBYTE OutputLevel5;    /* 0-100 */
  168.            UBYTE OutputLevel6;    /* 0-100 */
  169.            UBYTE OutputLevel7;    /* 0-100 */
  170.            UBYTE OutputLevel8;    /* 0-100 */
  171.            UBYTE OutputLevelR;    /* 0-100 */
  172.            UBYTE Panpot1;         /* 0-14 */
  173.            UBYTE Panpot2;         /* 0-14 */
  174.            UBYTE Panpot3;         /* 0-14 */
  175.            UBYTE Panpot4;         /* 0-14 */
  176.            UBYTE Panpot5;         /* 0-14 */
  177.            UBYTE Panpot6;         /* 0-14 */
  178.            UBYTE Panpot7;         /* 0-14 */
  179.            UBYTE Panpot8;         /* 0-14 */
  180.          };
  181.  
  182. struct MidiSystemArea
  183.          {
  184.            UBYTE MidiSysExBegin[5];
  185.            UBYTE SynthMemPos[3];
  186.            struct SystemArea SystemData;
  187.            UBYTE CheckSum;
  188.            UBYTE MidiSysExEnd;
  189.          };
  190.  
  191. struct Event
  192.          {
  193.            UBYTE Step[2];       /* 0-191 */
  194.            UBYTE NoteNumber[2]; /* 24-108 */
  195.            UBYTE Velocity[2];   /* 1-127 */
  196.          };
  197.  
  198. struct RhythmTrack
  199.          {
  200.            UBYTE TrackLengthLSB;  /* 0-500 */
  201.            UBYTE TrackLengthMSB;
  202.            UBYTE Pattern[500];
  203.          };
  204.  
  205. struct RhythmPattern
  206.          {
  207.            UBYTE Time[2];
  208.            UBYTE TotalOfNotes[2];
  209.            UBYTE Dummy1[2];
  210.            struct Event Event[96];
  211.            UBYTE EndMark[2];
  212.            UBYTE Dummy2[4];
  213.          };
  214.  
  215. struct MidiEvent
  216.          {
  217.            UBYTE MidiSysExBegin[5];
  218.            UBYTE SynthMemPos[3];
  219.            struct Event EventData;
  220.            UBYTE CheckSum;
  221.            UBYTE MidiSysExEnd;
  222.          };
  223.  
  224. struct MidiRhythmTrack
  225.          {
  226.            UBYTE MidiSysExBegin[5];
  227.            UBYTE SynthMemPos[3];
  228.            struct RhythmTrack TrackData;
  229.            UBYTE CheckSum;
  230.            UBYTE MidiSysExEnd;
  231.          };
  232.  
  233. struct MidiRhythmPattern
  234.          {
  235.            UBYTE MidiSysExBegin[5];
  236.            UBYTE SynthMemPos[3];
  237.            struct RhythmPattern PatternData;
  238.            UBYTE CheckSum;
  239.            UBYTE MidiSysExEnd;
  240.          };
  241. ---------------------------------------------------------------------------
  242. (C) 1991,1992 by Andre Willms
  243.  
  244.